from app.schemas.base import BaseSchema, PaginationParams, PaginationResponse, ResponseModel, BaseEntity, PageQuery
from app.schemas.auth import (
    LoginData,
    LoginResult,
    RegisterForm,
    VerifyCodeResult,
    TenantInfo,
    TenantVO,
    ChangePasswordRequest,
    UserInfo,
)
from app.schemas.user import (
    UserVO,
    UserForm,
    UserQuery,
    UserInfoVO,
    ResetPwdForm,
    # UserCreate,
    # UserUpdate,
    # UserResponse,
    # UserListResponse,
    # ResetPasswordRequest,
    # UpdateStatusRequest,
)
from app.schemas.role import (
    RoleVO,
    RoleForm,
    RoleQuery,
    # RoleCreate,
    # RoleUpdate,
    # RoleResponse,
    # RoleListResponse,
    # AssignPermissionsRequest,
    # RolePermissionResponse,
    # RoleUserResponse,
)
from app.schemas.menu import (
    MenuVO,
    MenuForm,
    MenuQuery,
    MenuTreeOption,
    RoleMenuTree,
    RouterVO,
    RouterMeta,
)
from app.schemas.system import (
    DeptVO,
    DeptForm,
    DeptQuery,
    DeptTreeVO,
)
from app.schemas.post import (
    PostVO,
    PostForm,
    PostQuery,
)
# from app.schemas.permission import (
#     PermissionCreate,
#     PermissionUpdate,
#     PermissionResponse,
#     PermissionTreeResponse,
#     MenuPermissionResponse,
# )
# from app.schemas.dept import (
#     DeptCreate,
#     DeptUpdate,
#     DeptResponse,
#     DeptTreeResponse,
#     DeptUserResponse,
# )
# from app.schemas.tenant import (
#     TenantCreate,
#     TenantUpdate,
#     TenantResponse,
#     TenantListResponse,
#     TenantConfigResponse,
#     UpdateConfigRequest,
# )
# from app.schemas.system import (
#     ConfigCreate,
#     ConfigUpdate,
#     ConfigResponse,
#     DictTypeCreate,
#     DictTypeResponse,
#     DictDataCreate,
#     DictDataResponse,
#     NoticeCreate,
#     NoticeResponse,
#     OperLogResponse,
#     LoginLogResponse,
#     FileUploadResponse,
#     FileInfoResponse,
# )

__all__ = [
    # Base schemas
    "BaseSchema",
    "PaginationParams",
    "PaginationResponse",
    "ResponseModel",
    "BaseEntity",
    "PageQuery",

    # Auth schemas
    "LoginData",
    "LoginResult",
    "RegisterForm",
    "VerifyCodeResult",
    "TenantInfo",
    "TenantVO",
    "ChangePasswordRequest",
    "UserInfo",

    # User schemas
    "UserVO",
    "UserForm",
    "UserQuery",
    "UserInfoVO",
    "ResetPwdForm",

    # Role schemas
    "RoleVO",
    "RoleForm",
    "RoleQuery",

    # Menu schemas
    "MenuVO",
    "MenuForm",
    "MenuQuery",
    "MenuTreeOption",
    "RoleMenuTree",
    "RouterVO",
    "RouterMeta",

    # System schemas
    "DeptVO",
    "DeptForm",
    "DeptQuery",
    "DeptTreeVO",

    # Post schemas
    "PostVO",
    "PostForm",
    "PostQuery",
]